1. Field of the Invention
This invention is generally related to digital data processing systems and more specifically to the enhancement of the performance of certain host application using a disk array storage device.
2. Description of Related Art
A disk array storage device (DASD) provides large quantities of storage, now in the terabyte range for digital processing systems. These disk array storage devices comprise many physical disk drives arranged into logical volumes or logical storage devices. Significant efforts have been undertaken and are underway to improve the overall performance and responsiveness of such disk array storage devices to various applications that a digital data processing system performs.
One application class has emerged that puts a particular strain on the resources in a disk array storage device with a consequential reduction in host application performance. Such performance reduction reflects in the interaction of the application with users. Generally speaking this class of application is characterized by requiring a logical storage device to record, as a condition precedent to the completion of a transaction, information related to that transaction.
An e-mail server is one example of such host applications. Assume an author or sender sends a message to a list of recipients. Some e-mail servers respond by producing a write transaction to the mailbox for each recipient and to other locations, such as a xe2x80x9csentxe2x80x9d file or folder. Each write transaction involves multiple transfers with a storage facility, like a disk array storage device. For example, the e-mail server in some e-mail systems writes a log entry for each write transaction directed to a recipient in the e-mail data base and for other transactions. Each log entry identifies the sender, the mailbox address for the recipient and the source of the message. In some e-mail systems this log entry is a first of two log entries and indicates that data is to be written to the specified location. After the log entry is successfully completed, the server copies the message reading it from its source and writing to the recipient""s mailbox. When that transfer is successfully completed, the server produces another log entry as a second entry. The log entries for the transactions are important in the case of a system failure. In that situation, the log file containing all the log entries can be analyzed to determine which previous e-mail messages have been written successfully and resend any messages that do not have both log entries.
A single dedicated logical storage device, that may reside on one or more physical disk drives normally stores all the log entries for the e-mail server. Also each mailbox in a disk array storage device may either reside on its own logical storage device or reside with other mailboxes on a logical storage device. In such applications, the connection between the server and the disk array storage device is usually a shared resource, such as a resource that includes a SCSI interface. Once the transaction to write the log device is sent, the disk array storage device and server are essentially disconnected until the log device completes recording the log entry. Then the log device reconnects so that the host application can complete the transaction or continue to perform added task functions. Such a disconnection and reconnection also occurs with write transfers and certain other transactions.
In e-mail systems with many users, writing entries to the log device can produce a bottleneck particularly when a single e-mail message is written to a large number of recipients on an e-mail list so that a large number of write operations are directed to the log device. Response times increase and can become evident in the form of prolonged response times for the user of the host applications.
Therefore it is an object of this invention to provide an operating mode for a disk array storage device that enhances the operation of host applications in which a significant number of write transactions are directed to a single logical storage device.
Another object of this invention is to provide a disk array storage device that enables an enhanced performance of an e-mail or other like host application.
Still another object of this invention is to provide a disk array storage device with improved performance for handling applications in which the completion of a write transaction to a logical volume acts as a control with respect to other transactions and tasks.
In accordance with this invention a disk array storage device processes transactions with multiple tasks of different categories performed in the multiple logical storage devices according to the position of task requests in a task queue. One logical storage device is assigned priority. Upon receiving a task request from any of the logical storage devices, this method determines the task category and logical storage device related to the task request. If the task request is for a task in a first category, it is assigned to the task queue in a position having a first priority. If the task request corresponds to a task in a second category, the task request transfers to the task queue in a position having a second, lesser priority. All other task requests are transferred to the task queue at positions of a third priority that is less than the second priority.
In accordance with another aspect of this invention, the operation of a disk array storage device that processes transactions using multiple tasks of first and second categories performed in multiple logical storage devices is improved according to a method in which priority is assigned to one logical storage device. When a task request is generated for any logical storage device, its task category and the logical storage device to which it is related are determined.
Task requests in the first category from the other logical storage devices transfer to positions in the task queue of a first general priority. A task request of the first category related to the one logical storage device transfers to the highest priority position in the task queue. Other task requests transfer to positions that have a priority that is less than the first priority.
In accordance with another aspect of this invention, the performance of an e-mail application program operating in a data processing system with a host processor and a disk array storage device is enhanced. The disk array storage device includes logical storage devices that operate in response to tasks including reconnect tasks and second and third categories of other tasks. One logical storage device is dedicated to store a log. In accordance with this method, a task queue is maintained for different task requests that schedule the order by which the tasks are completed within the disk array storage device. Upon receiving a task request related to any of the logical storage devices, the method initially determines the task category and the logical storage device related to the task request. A reconnect task request related to a logical storage device other than the dedicated logical storage device transfers to a position in the task queue of a first priority. A reconnect task request related to the dedicated logical storage device transfers to a position in the task queue having the highest priority. Requests for tasks of the second category related to the dedicated logical storage device transfer to positions in the task queue of a second priority that is less than the first priority. Requests for any other tasks from the logical storage devices transfer to positions of a priority that is less than the second priority.
In accordance with another aspect of this invention the performance of an e-mail application operating in a data processing system of the host processor in a disk array storage device is improved. The disk array storage device comprises a plurality of logical storage devices that operate in response to tasks including reconnect tasks generated when a logical storage device completes a task, a second category of tasks generated in response to certain activities within the disk array storage device and a third category of other tasks. In the e-mail system each e-mail the creation of each new e-mail message will require a log entry in a dedicated logical storage device as a condition precedent to the processing of any transaction. In accordance with the method a first-in and first-out task queue is maintained for different task requests and schedules the order by which the corresponding tasks are completed within the disk array storage device. The system operates by normally adding reconnect tasks at the beginning of the queue and other tasks to the end of the task queue. However, in an e-mail system the system transfers reconnect tasks related to the dedicated logical storage device to the head of the task queue whereby reconnect tasks related to other logical storage devices are transferred to a location following a reconnect task in the queue related to the dedicated logical storage device. Task requests of the second category related to the dedicated logical storage device transfer to a position in the task queue that follows any reconnect task requests in the task queue.